package models

import (
	"gitee.com/dromara/carbon/v2"
)

// Orders 订单
type Orders struct {
	ID                 int64         `json:"id" gorm:"id"`                                     // ID
	UserId             int64         `json:"user_id" gorm:"user_id"`                           // 用户ID
	StoreId            int64         `json:"store_id" gorm:"store_id"`                         // 门店ID
	OrderSn            string        `json:"order_sn" gorm:"order_sn"`                         // 订单编号
	State              int64         `json:"state" gorm:"state"`                               // 状态。【0：已关闭；10：未支付；20：已支付；40：已消费；50：已评价；】
	ProductCouont      int64         `json:"product_couont" gorm:"product_couont"`             // 商品数量
	ProductAmountTotal float64       `json:"product_amount_total" gorm:"product_amount_total"` // 商品总价
	OrderAmountTotal   float64       `json:"order_amount_total" gorm:"order_amount_total"`     // 支付总价
	PayChannel         string        `json:"pay_channel" gorm:"pay_channel"`                   // 支付渠道。【wechat：微信；alipay：支付宝；meituan：美团；cash：现金。】
	TradeSn            string        `json:"trade_sn" gorm:"trade_sn"`                         // 支付单号
	Notes              string        `json:"notes" gorm:"notes"`                               // 订单备注
	CreatedAt          carbon.Carbon `json:"created_at" gorm:"created_at"`                     // 创建时间
	PaiedAt            carbon.Carbon `json:"paied_at" gorm:"paied_at"`                         // 支付时间
	ConsumedAt         carbon.Carbon `json:"consumed_at" gorm:"consumed_at"`                   // 消费时间
	EvaluatedAt        carbon.Carbon `json:"evaluated_at" gorm:"evaluated_at"`                 // 评论时间
	UpdatedAt          carbon.Carbon `json:"updated_at" gorm:"updated_at"`                     // 修改时间

	Items    []*OrderItems  `json:"items" gorm:"foreignKey:OrderId;references:ID"`    // 订单商品
	Discount *OrderDiscount `json:"discount" gorm:"foreignKey:OrderId;references:ID"` // 会员折扣
}

// TableName 表名称
func (*Orders) TableName() string {
	return "orders"
}
